<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			body {
				height: 125rem;
			}

			div {
				margin-bottom: 10px;
			}

			.card {
				width: 200px;
				height: 100px;
				background: gray;
				color: #fff;
			}
		</style>
		<script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app">
			<div class="card" v-pin:true.bottom.right='card1.pinned'>
				<button type="button" @click="card1.pinned=!card1.pinned">钉住/取消</button>
				自定义指令是用来操作DOM的。尽管Vue推崇数据驱动视图的理念，但并非所有情况都适合数据驱动。
			</div>
			<div class="card" v-pin:true.bottom.left='card2.pinned'>
				<button type="button" @click="card2.pinned=!card2.pinned">钉住/取消</button>
				自定义指令就是一种有效的补充和扩展，不仅可用于定义任何的DOM操作，并且是可复用的。
			</div>
			<div>
				自定义指令是用来操作DOM的。尽管Vue推崇数据驱动视图的理念，但并非所有情况都适合数据驱动。自定义指令就是一种有效的补充和扩展，不仅可用于定义任何的DOM操作，并且是可复用的。自定义指令的注册方式和过滤器及组件注册的方式一样都分为两种：
				全局注册指令和局部注册指令。
				自定义指令是用来操作DOM的。尽管Vue推崇数据驱动视图的理念，但并非所有情况都适合数据驱动。自定义指令就是一种有效的补充和扩展，不仅可用于定义任何的DOM操作，并且是可复用的。自定义指令的注册方式和过滤器及组件注册的方式一样都分为两种：
				全局注册指令和局部注册指令。
				自定义指令是用来操作DOM的。尽管Vue推崇数据驱动视图的理念，但并非所有情况都适合数据驱动。自定义指令就是一种有效的补充和扩展，不仅可用于定义任何的DOM操作，并且是可复用的。自定义指令的注册方式和过滤器及组件注册的方式一样都分为两种：
				全局注册指令和局部注册指令。

			</div>
			<div>
				自定义指令是用来操作DOM的。尽管Vue推崇数据驱动视图的理念，但并非所有情况都适合数据驱动。自定义指令就是一种有效的补充和扩展，不仅可用于定义任何的DOM操作，并且是可复用的。自定义指令的注册方式和过滤器及组件注册的方式一样都分为两种：
				全局注册指令和局部注册指令。
				自定义指令是用来操作DOM的。尽管Vue推崇数据驱动视图的理念，但并非所有情况都适合数据驱动。自定义指令就是一种有效的补充和扩展，不仅可用于定义任何的DOM操作，并且是可复用的。自定义指令的注册方式和过滤器及组件注册的方式一样都分为两种：
				全局注册指令和局部注册指令。
				自定义指令是用来操作DOM的。尽管Vue推崇数据驱动视图的理念，但并非所有情况都适合数据驱动。自定义指令就是一种有效的补充和扩展，不仅可用于定义任何的DOM操作，并且是可复用的。自定义指令的注册方式和过滤器及组件注册的方式一样都分为两种：
				全局注册指令和局部注册指令。

			</div>
			<div>
				自定义指令是用来操作DOM的。尽管Vue推崇数据驱动视图的理念，但并非所有情况都适合数据驱动。自定义指令就是一种有效的补充和扩展，不仅可用于定义任何的DOM操作，并且是可复用的。自定义指令的注册方式和过滤器及组件注册的方式一样都分为两种：
				全局注册指令和局部注册指令。
				自定义指令是用来操作DOM的。尽管Vue推崇数据驱动视图的理念，但并非所有情况都适合数据驱动。自定义指令就是一种有效的补充和扩展，不仅可用于定义任何的DOM操作，并且是可复用的。自定义指令的注册方式和过滤器及组件注册的方式一样都分为两种：
				全局注册指令和局部注册指令。
				自定义指令是用来操作DOM的。尽管Vue推崇数据驱动视图的理念，但并非所有情况都适合数据驱动。自定义指令就是一种有效的补充和扩展，不仅可用于定义任何的DOM操作，并且是可复用的。自定义指令的注册方式和过滤器及组件注册的方式一样都分为两种：
				全局注册指令和局部注册指令。
			</div>
		</div>
		<script type="text/javascript">
			Vue.directive('pin', function(el, binding) {
				var pinned = binding.value;
				var position = binding.modifiers;
				var warning = binding.arg;
				console.log('position', position)
				if (pinned) {
					el.style.position = 'fixed';
					// 					top='10px';
					// 					left='10px';
					for (var key in position) {
						if (position[key]) {
							el.style[key] = '10px';
						}
					}
					if (warning === 'true') {
						el.style.background = 'red'
					}
				} else {
					el.style.position = 'static';
				}
			})
			var vm = new Vue({
				el: '#app',
				data: { 
					msg: 'hello world!',
					card1: {
						pinned: false
					},
					card2: {
						pinned: false
					}
				}
			});
		</script>
	</body>
</html>
